package com.audaque.springboot.foshanupload.redis.anno;

import org.apache.commons.io.filefilter.FalseFileFilter;

import java.lang.annotation.*;

/**
 * @author wangyan01
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RedisLuaBucketRateLimterAnno {
    String name() default "";
    /**
     * 上一次请求时间key
     * last_mill_request_key
     */
    String last_mill_request_key() default "last_mill_request_key";

    /**
     * 初始化令牌桶的容量
     * 不要超过cpu核心数，否则容易在开始时qps，导致等待超时
     */
    long limit() default 1;

    /**
     * 请求令牌的数量
     * 每次请求消耗令牌的数量
     */
    long permits() default 1;

    /**
     * 令牌注入的速率
     */
    long rate() default 1;

    String msg() default "流量超过阈值";
    /**
     *  是否重试
     *  是：重试直到成功
     *  否：快速失败
     */
    boolean retryYn() default false;







}
